#ifndef __GAME_H_INCLUDED__
#define __GAME_H_INCLUDED__


#include "DisplayManager.h"
#include "ObjectManager.h"
#include "InputManager.h"
#include "SDL/SDL_mixer.h"
/* Game class meant to hide all necessary game functions in a container class to
 * keep unnecessary code away from main.cpp as we should handle most error 
 * checking as part of the game to allow for better debug info to be printed.
 */

class CGame
{
	public:
		CGame();
		~CGame();
		int run();
		int endTurn(char key);
		bool processTurn(char &event);
	private:
		CObjectManager m_omObjectManager;
		CDisplayManager m_dmDisplayManager;
		CInputManager m_imInputManager;
		//keep track of turn number (for timing issues)
		int m_nTurn;
		//determines whether a turn should increment for an action
		bool m_bIncrement;
		void musicHandleKey(char c);


};

#endif
